A. Field of the Invention
The present invention relates generally to arbitration, and more particularly, to a high performance memory request dispatcher.
B. Description of Related Art
Routers receive data on a physical media, such as optical fiber, analyze the data to determine its destination, and output the data on a physical media in accordance with the destination. Routers were initially designed using a general purpose processor executing large software programs. As line rates and traffic volume increased, however, general purpose processors could not scale to meet these new demands. For example, as functionality was added to the software, such as accounting and policing functionality, these routers suffered performance degradation. In some instances, the routers failed to handle traffic at line rate when the new functionality was enabled.
To meet the new demands, purpose-built routers were designed. Purpose-built routers are designed and built with components optimized for routing. They not only handle higher line rates and higher network traffic volume, they also add functionality without compromising line rate performance.
A purpose-built router may include a number of input and output ports from which it transmits and receives information packets. A switching fabric may be implemented in the router to carry the packets between ports.
Packets received at a particular port are temporarily stored in memory while the router processes the packet to, for example, determine its appropriate output port. In a high-performance router, the large number of packets received can translate into a heavy burden on the memory. Accordingly, high-bandwidth and low-latency memories are typically used in the router. However, even with such high performance memories, processing a large number of memory requests may still cause system latency and thus slows down the operation of the router.
Accordingly, in certain devices such as high-performance routers, it is desirable to be able to efficiently and quickly dispatch memory requests.